/**
 * 文件名：@HandlerMethodMappingRequestBodyInterceptor.java <br/>
 * 包名：cn.efunbox.afw.web.mvc.interceptor <br/>
 * 项目名：afw-web <br/>
 * @author xtwin <br/>
 */
package cn.efunbox.afw.web.mvc.interceptor;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;

/**
 * 类名：HandlerMethodMappingRequestBodyInterceptor  <br />
 *
 * 功能：根据参数名进行映射的拦截处理器
 *
 * @author xtwin <br />
 * 创建时间：2016年7月27日 下午4:09:20  <br />
 * @version 2016年7月27日
 */
public class HandlerMethodMappingRequestBodyInterceptor extends AbstractHandlerMethodParameterRequestBodyInterceptor {

	/**
	 * 功能: <br/>
	 * 
	 * 重写：xtwin <br/>
	 * 
	 * @version ：2016年7月27日 下午4:09:35<br/>
	 * 
	 * @param body
	 * @param request
	 * @param response
	 * @param handler
	 * @return <br/>
	 * @see cn.efunbox.afw.web.mvc.interceptor.AbstractRequestBodyInterceptor#parseBody(java.lang.String, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.Object)
	 */
	@Override
	protected Object parseBody(String body, HttpServletRequest request, HttpServletResponse response, Object handler) {
		// 先临时将body体解析为参数名与参数json值得映射关系
		return JSON.parseObject(body, new TypeReference<Map<String, String>>() {});
	}
}